#ifndef SEMANTICNODEBLOCKSEIZE_H_
#define SEMANTICNODEBLOCKSEIZE_H_

#include "SemanticNode.h"
#include "LabeledNode.h"
#include <string>
#include <vector>

class SemanticNodeExpression;

class SemanticNodeBlockSeize : public SemanticNode, public LabeledNode {
private:
	SemanticNodeExpression *facilityExpression;
	SemanticNodeExpression *queueExpression;
	bool queue;

public:
	SemanticNodeBlockSeize(const SyntaxTreeNode *seizeNodeParent, SemanticNode *parent);

	bool hasQueue();

	void setFacility(SemanticNodeExpression *facility);
	void setQueue(SemanticNodeExpression *seizeQueue);

	virtual std::string toDebugString(int tab);
};

#endif /* SEMANTICNODEBLOCKSEIZE_H_ */